﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for PersonasBLL
/// </summary>
public class PersonasBLL
{
	public PersonasBLL()
	{
		//
		// TODO: Add constructor logic here
		//
	}


    public static Personas rowToDto(dsPersonas.PersonasDSRow PersonasRow)
    {

        Personas objPersonas = new Personas();
        objPersonas.IPersona_id = PersonasRow.iPersona_id;
        objPersonas.SNombre = PersonasRow.sNombre;
        objPersonas.ICarnetIdentidad = PersonasRow.iCarnetIdentidad;
        objPersonas.SApellido_paterno = PersonasRow.sApellido_paterno;
        objPersonas.SApellido_Materno = PersonasRow.sApellido_Materno;
        objPersonas.STelefono_Contacto = PersonasRow.sTelefono_Contacto;
        objPersonas.IPuesto_id = PersonasRow.iPuesto_id;

        return objPersonas;
    }
    public static List<Personas> GetAll()
    {
        List<Personas> ListaDePersonas = new List<Personas>();
        try
        {



            dsPersonasTableAdapters.PersonasDSTableAdapter PersonasAdapter
                = new dsPersonasTableAdapters.PersonasDSTableAdapter();
            dsPersonas.PersonasDSDataTable PersonasDataTable = PersonasAdapter.GetAll_Personas();

            foreach (dsPersonas.PersonasDSRow row in PersonasDataTable)
            {
                Personas objPersonas = rowToDto(row);
                ListaDePersonas.Add(objPersonas);
            }
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return ListaDePersonas;
    }
    public static Personas GetByPK(int pk)
    {

        try
        {

            dsPersonasTableAdapters.PersonasDSTableAdapter PersonasAdapter
                = new dsPersonasTableAdapters.PersonasDSTableAdapter();
            dsPersonas.PersonasDSDataTable PersonasDataTable
                = PersonasAdapter.GetByPk_Personas(pk);

            Personas objPersonas = rowToDto(PersonasDataTable[0]);
            return objPersonas;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return null;
    }

    public static int InsertarPersonas(string sNombre, int iCarnetIdentidad, string sApellido_paterno, string sApellido_Materno, string sTelefono_Contacto, int iPuesto_id)
    {

        try
        {

            dsPersonasTableAdapters.PersonasDSTableAdapter PersonasAdapter
                = new dsPersonasTableAdapters.PersonasDSTableAdapter();


            int? nuevaPK = 0;

            PersonasAdapter.Insertar_Personas(sNombre,iCarnetIdentidad,sApellido_paterno,sApellido_Materno,sTelefono_Contacto,iPuesto_id, ref nuevaPK);

            return (int)nuevaPK;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return 0;
    }

    public static bool ModificarPersonas(int pk, string sNombre, int iCarnetIdentidad, string sApellido_paterno, string sApellido_Materno, string sTelefono_Contacto, int iPuesto_id)
    {

        try
        {

            dsPersonasTableAdapters.PersonasDSTableAdapter PersonasAdapter
                = new dsPersonasTableAdapters.PersonasDSTableAdapter();

            PersonasAdapter.Modificar_Personas(pk, sNombre,iCarnetIdentidad,sApellido_paterno,sApellido_Materno,sTelefono_Contacto,iPuesto_id);


            return true;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return false;
    }

    public static bool EliminarPersonas(int pk)
    {

        try
        {

            dsPersonasTableAdapters.PersonasDSTableAdapter PersonasAdapter
                = new dsPersonasTableAdapters.PersonasDSTableAdapter();

            PersonasAdapter.Eliminar_Personas(pk);


            return true;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return false;
    }


}